diff --git a/user_guide/libraries/zip.html b/user_guide/libraries/zip.html
index 1994e34..f126bd0 100644
--- a/user_guide/libraries/zip.html
+++ b/user_guide/libraries/zip.html
@@ -62,18 +62,61 @@
 
 
 <h1>Zip Encoding Class</h1>
-<p>Code Igniter's Zip Encoding Class classes permit you to create Zip archives.</p>
+<p>Code Igniter's Zip Encoding Class classes permit you to create Zip archives. Archives can be downloaded to your 
+desktop or saved to a directory.</p>
 
 
 <h2>Initializing the Class</h2>
 <p>Like most other classes in Code Igniter, the Zip class is initialized in your controller using the <dfn>$this->load->library</dfn> function:</p>
 
 <code>$this->load->library('zip');</code>
-<p>Once loaded, the Parser library object will be available using: <dfn>$this->zip</dfn></p>
+<p>Once loaded, the Zip library object will be available using: <dfn>$this->zip</dfn></p>
 
-<h2>Usage Examples</h2>
+<h2>Usage Example</h2>
 
-<p>Simple example demonstrating how to compress a file and download it to your desktop.</p>
+<p>This example demonstrates how to compress a file, save it to a folder on your server, and download it to your desktop.</p>
+
+<code>
+$name = 'mydata1.txt';<br />
+$data = 'A Data String!';<br />
+<br />
+$this->zip->add_data($name, $data);<br />
+<br />
+// Write the zip file to a folder on your server. Name it "my_backup.zip"<br />
+$this->zip->archive('/path/to/directory/my_backup.zip');
+<br /><br />
+ // Download the file to your desktop.  Name it "my_backup.zip"<br />
+$this->zip->download('my_backup.zip');
+</code>
+
+<h1><br />Function Reference</h1>
+
+<h2>$this->zip->add_data()</h2>
+
+<p>Permits you to add data to the Zip archive. The first parameter must contain the name you would like
+given to the file, the second parameter must contain the file data:</p>
+
+<code>
+$name = 'my_bio.txt';<br />
+$data = 'I was born in an elevator...';<br />
+<br />
+$this->zip->add_data($name, $data);
+</code>
+
+
+<p>If you would like to compress a file that exists somewhere on your server you will need to read the data before
+passing it to the function:</p>
+
+<code>
+$name = 'photo.jpg';<br /><br />
+$data = file_get_contents("/path/to/photo.jpg"); // Read the file's contents<br />
+<br />
+$this->zip->add_data($name, $data);
+</code>
+
+
+<p>You are allowed to have multiple calls to this function in order to 
+add several files to your archive.  Example:</p>
 
 <code>
 $name = 'mydata1.txt';<br />
@@ -83,41 +126,106 @@
 $name = 'mydata2.txt';<br />
 $data = 'Another Data String!';<br />
 $this->zip->add_data($name, $data);<br />
-<br />
-
-$this->zip->download('my_backup.zip'); // Parameter contains name of the downloaded file
 </code>
 
-<p>If you would like to place your data into a folder just include the directory as part of the filename:</p>
-
-
-<code>
-$name = 'myfolder/mydata1.txt';<br />
-$data = 'A Data String!';<br />
-$this->zip->add_data($name, $data);<br />
-<br />
-$name = 'myfolder/mydata2.txt';<br />
-$data = 'Another Data String!';<br />
-$this->zip->add_data($name, $data);<br />
-<br />
-
-$this->zip->download('my_backup.zip'); // Parameter contains name of the downloaded file
-</code>
-
-<p>You can also pass your file data as an array:</p>
-
+<p>Or you can pass multiple files using an array:</p>
 
 <code>
 $data = array(<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'myfolder/mydata1.txt' => 'A Data String!',<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'myfolder/mydata2.txt' => 'Another Data String!'<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'mydata1.txt' => 'A Data String!',<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'mydata2.txt' => 'Another Data String!',<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'photo.jpg' => file_get_contents("/path/to/photo.jpg")<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
 <br />
 $this->zip->add_data($data);<br />
 <br />
-$this->zip->download('my_backup.zip'); // Parameter contains name of the downloaded file
+$this->zip->download('my_backup.zip');
 </code>
 
+<p>If you would like your compressed data organized into sub-folders, include the path as part of the filename:</p>
+
+<code>
+$name = '<kbd>personal/</kbd>my_bio.txt';<br />
+$data = 'I was born in an elevator...';<br />
+<br />
+$this->zip->add_data($name, $data);
+</code>
+
+<p>The above example will place <dfn>my_bio.txt</dfn> inside a folder called <kbd>personal</kbd>.</p>
+
+
+<h2>$this->zip->add_dir()</h2>
+
+<p>Permits you to add a directory.  Usually this function is unnecessary since you can place your data into folders when
+using <dfn>$this->zip->add_data()</dfn>, but if you would like to create an empty folder you can do so.  Example:</p>
+
+<code>$this->zip->add_dir('myfolder'); // Creates a folder called "myfolder"</code>
+
+
+<h2>$this->zip->archive()</h2>
+
+<p>Writes the Zip-encoded file to a directory on your server.  Submit a valid server path ending in the file name.  Make sure the
+directory is writable (666 or 777 is usually OK). Example:</p>
+
+<code>$this->zip->archive('/path/to/folder/myarchive.zip'); // Creates a file named myarchive.zip</code>
+
+
+<h2>$this->zip->download()</h2>
+
+<p>Causes the Zip file to be downloaded to your server. The function must be passed the name you would like the zip file called.
+Example:</p>
+
+<code>$this->zip->download('latest_stuff.zip'); // File will be named "latest_stuff.zip"</code>
+
+<p class="important"><strong>Note:</strong>&nbsp; Do not display any data in the controller in which you call this function since it sends various server headers
+that cause the download to happen and the file to be treated as binary.</p>
+
+
+<h2>$this->zip->get_zip()</h2>
+
+<p>Returns the Zip-compressed file data.  Generally you will not need this function unless you want to do something unique with the data.
+Example:</p>
+
+<code>
+$name = 'my_bio.txt';<br />
+$data = 'I was born in an elevator...';<br />
+<br />
+$this->zip->add_data($name, $data);<br /><br />
+
+$zip_file = $this->zip->get_zip();
+</code>
+
+
+<h2>$this->zip->clear_data()</h2>
+
+<p>The Zip class caches your zip data so that it doesn't need to recompile the Zip archive for each function you use above.
+If, however, you need to create multiple Zips, each with different data, you can clear the cache between calls. Example:</p>
+
+<code>
+$name = 'my_bio.txt';<br />
+$data = 'I was born in an elevator...';<br />
+<br />
+$this->zip->add_data($name, $data);<br />
+$zip_file = $this->zip->get_zip();<br />
+<br />
+<kbd>$this->zip->clear_data();</kbd>
+<br /><br />
+
+$name = 'photo.jpg';<br />
+$data = file_get_contents("/path/to/photo.jpg"); // Read the file's contents<br />
+$this->zip->add_data($name, $data);
+<br /><br />
+$this->zip->download('myphotos.zip');
+</code>
+
+
+
+
+
+
+
+
+
 
 
 
